package com.wf.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * 阿里云OSS配置属性类
 * 用于配置阿里云OSS的相关属性，如endpoint、accessKeyId、accessKeySecret和bucketName
 * 通过@ConfigurationProperties注解，将前缀为"alioss"的配置属性绑定到该类的实例上
 *
 * @author mpk
 * @since 2024/8/20 11:03:49
 */
@Data
@ConfigurationProperties(prefix = "aliyun")
public class AliYunProperties {

    // 访问OSS服务所需的Access Key ID
    private String accessKeyId;

    // 访问OSS服务所需的Access Key Secret
    private String accessKeySecret;

    // 多级注解
    private Oss oss;

    private Sms sms;

    /**
     * 阿里云OSS服务配置类
     */
    @Data
    public static class Oss {
        // OSS服务的Endpoint
        private String endpoint;

        // OSS存储空间名称
        private String bucketName;
    }

    /**
     * 阿里云短信服务配置类
     */
    @Data
    public static class Sms {
        // 短信签名名称
        private String signName;

        // 短信模板代码
        private String templateCode;
    }
}
